﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using LIM.controller;
using LIM.model;

using LIM.forms.uc_CRM_LienHe_ChiTiet;

namespace LIM.forms
{
    public partial class radForm_CRM_LienHe_ChiTiet : Telerik.WinControls.UI.RadForm
    {
        public radForm_CRM_LienHe_ChiTiet()
        {
            InitializeComponent();
            this.radLabel_NoteForDelete.AutoSize = false;
        }
        public delegate void LoadChange();
        public event LoadChange OnLoadChange;
        public tbl_CRM_LienHe SelectedEntity { set; get; }
        public int RowIDLienHe = 0;
        public DanhMucLienHeController controller;
        private void radForm_DanhMuc_PhongBan_Load(object sender, EventArgs e)
        {
            radDropDownList_DanhXung.SelectedIndex = 0;
            if (controller == null)
            {
                controller = new DanhMucLienHeController();
            }
            SelectedEntity = controller.GetByID(RowIDLienHe);
            uc_CRM_LienHe_ChiTiet_ThongTinCongTy uc_CRM_LienHe_ChiTiet_ThongTinCongTy = new uc_CRM_LienHe_ChiTiet_ThongTinCongTy();
            uc_CRM_LienHe_ChiTiet_ThongTinCongTy.Dock = DockStyle.Fill;
            this.radPageViewPage_ThongTinCongTy.Controls.Add(uc_CRM_LienHe_ChiTiet_ThongTinCongTy);

            uc_CRM_LienHe_ChiTiet_NhatKyLienLac uc_CRM_LienHe_ChiTiet_NhatKyLienLac = new uc_CRM_LienHe_ChiTiet_NhatKyLienLac();
            uc_CRM_LienHe_ChiTiet_NhatKyLienLac.Dock = DockStyle.Fill;
            this.radPageViewPage_NhatKyLienLac.Controls.Add(uc_CRM_LienHe_ChiTiet_NhatKyLienLac);

            //uc_CRM_LienHe_ChiTiet_ChiTieuDaKiemNghiem uc_CRM_LienHe_ChiTiet_ChiTieuDaKiemNghiem = new uc_CRM_LienHe_ChiTiet_ChiTieuDaKiemNghiem();
            //uc_CRM_LienHe_ChiTiet_ChiTieuDaKiemNghiem.Dock = DockStyle.Fill;
            //this.radPageViewPage_ChiTieuDaKiemNghiem.Controls.Add(uc_CRM_LienHe_ChiTiet_ChiTieuDaKiemNghiem);

            uc_CRM_LienHe_ChiTiet_HopDongDaKy uc_CRM_LienHe_ChiTiet_HopDongDaKy = new uc_CRM_LienHe_ChiTiet_HopDongDaKy();
            uc_CRM_LienHe_ChiTiet_HopDongDaKy.Dock = DockStyle.Fill;
            this.radPageViewPage_HopDongDaKy.Controls.Add(uc_CRM_LienHe_ChiTiet_HopDongDaKy);

            
            BindControls();

            OnLoadChange();
        }
        protected void BindControls()
        {
            if (SelectedEntity == null)
                SelectedEntity = new tbl_CRM_LienHe();
            radDropDownList_DanhXung.Text = SelectedEntity.XungHo;
            radTextBox_HoTen.Text = SelectedEntity.HoTen;
            radTextBox_SoDiDong.Text = SelectedEntity.SoDiDong;
            radTextBox_Email.Text = SelectedEntity.EmailCaNhan;
            radTextBox_GhiChu.Text = SelectedEntity.GhiChu;
            if (SelectedEntity.IsUsed.HasValue)
            {
                radCheckBox_DaNgungLienLac.Checked = SelectedEntity.IsUsed.Value;
            }
            BindControlsNgayCapNhat();
        }
        private void BindControlsNgayCapNhat()
        {
            this.radLabel_NgayTao.Text = "";
            this.radLabel_NhanVienTao.Text = "";

            if (SelectedEntity.NgayTao.HasValue)
                this.radLabel_NgayTao.Text = "Ngày tạo: " + SelectedEntity.NgayTao.Value.ToString("dd/MM/yyyy hh:mm");
            if (!string.IsNullOrEmpty(SelectedEntity.NguoiTao))
                this.radLabel_NhanVienTao.Text = "Người tạo: " + SelectedEntity.NguoiTao;
        }

        private void radButton_LuuLai_Click(object sender, EventArgs e)
        {
            if (!IsValidatedSaving())
                return;

            Application.UseWaitCursor = true;
            SelectedEntity.HoTen = this.radTextBox_HoTen.Text.Trim();
            SelectedEntity.SoDiDong = this.radTextBox_SoDiDong.Text.Trim();
            SelectedEntity.EmailCaNhan = this.radTextBox_Email.Text.Trim();
            SelectedEntity.GhiChu = this.radTextBox_GhiChu.Text;

            if (radDropDownList_DanhXung.Text != null)
            {
                SelectedEntity.XungHo = this.radDropDownList_DanhXung.Text;
            }
            

            if (SelectedEntity.RowID == 0)
            {
                SelectedEntity.NgayTao = controller.GetCurrentDateTimeFromDatabaseServer();
                SelectedEntity.NguoiTao = InitUserInfos.UserName;
            }
            SelectedEntity.NgayCapNhat = controller.GetCurrentDateTimeFromDatabaseServer();
            SelectedEntity.NguoiCapNhat = InitUserInfos.UserName;

            string _mess = "";
            int _code = 0;
            if (controller.SaveObject(SelectedEntity, out _mess, out _code))
            {
                RadDesktopAlert_SavingStatus.ShowAlertSaveSuccess("Thông tin Liên hệ", "Đã lưu thành công!");
                radForm_DanhMuc_PhongBan_Load(sender, e);
            }
            else
                MessageBox.Show(_mess);
        }
        private bool IsValidatedSaving()
        {
            if (string.IsNullOrEmpty(this.radTextBox_HoTen.Text.Trim()))
            {
                MessageBox.Show("Họ tên không được để trống", "Lỗi!!! Dữ liệu không được cập nhật.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }
    }
}
